const path = require("path"); //引入path模块
function resolve(dir) {
  return path.join(__dirname, dir); //path.join(__dirname)设置绝对路径
}
module.exports = {
  chainWebpack: config => {
    //发布模式下的配置
    config.when(process.env.NODE_ENV === "production", config => {
      //配置页面标题名称 Title
      config.plugin("html").tap(args => {
        args[0].title = "电商后台管理系统";
        return args;
      });
      config
        .entry("app")
        .clear()
        .add("./src/main-prod.js");
      //通过externals加载外部CDN资源,同时需要在public/index.html文件的头部,添加响应CDN资源的引用
      config.set("externals", {
        Vue: "Vue",
        VueRouter: "VueRouter",
        // axios: "axios",
        lodash: "_",
        // echarts: "echarts",
        NProgress: "NProgress"
      });
    });
    //开发模式下的配置
    config.when(process.env.NODE_ENV === "development", config => {
      //配置页面标题名称 Title
      config.plugin("html").tap(args => {
        args[0].title = "dev-电商后台管理系统";
        return args;
      });
      config
        .entry("app")
        .clear()
        .add("./src/main-dev.js");
    });

    //为路径设置别名
    config.resolve.alias
      //set第一个参数：设置的别名，第二个参数：设置的路径
      .set("@", resolve("./src"))
      .set("components", resolve("./src/components"))
      // .set('common', resolve('./src/common'))
      // .set("views", resolve("./src/views"))
      .set("assets", resolve("./src/assets"))
      .set("network", resolve("./src/network"));
    // .set("store", resolve("./src/store"));
    //注意 store 和 router 没必要配置,只在main.js中引用
  }
};
